home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- void rT39disconnect(T39 *C){
- int _err=0;
- _err=fclose((C)->_input_stream);
- C->_path=NULL;
- }
- T0*oRBC39last_string;
- char rT39last_character(T39 *C){
- char R='\0';
- R=(C)->_last_character_memory;
- return R;
- }
- void rT39connect_to(T39 *C,T0* a1){
- /*(IRF3*/((C)->_mode)=((T0 *)ms26);
- /*)*/C->_input_stream=rT39fopen(C,a1,(C)->_mode);
- /*IF*/{/*AT*/C->_path=a1;
- }
- /*FI*/}
- void rT39skip_separators(T39 *C){
- while (!((rT39end_of_input(C))||(!(rT3is_separator(rT39last_character(C)))))) {
- rT39read_character(C);
- }
- }
- void * rT39fopen(T39 *C,T0* a1,T0* a2){
- void * R=NULL;
- rT7extend((T7*)a1,'\0');
- rT7extend((T7*)a2,'\0');
- R=(T0 *)fopen(((Tstring *)a1)->_storage,((Tstring *)a2)->_storage);
- rT7remove_last((T7*)a1,1);
- rT7remove_last((T7*)a2,1);
- return R;
- }
- void rT39copy(T39 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT39read_word(T39 *C){
- rT39skip_separators(C);
- /*(IRF3*/(((T7*)oRBC39last_string)->_count)=(0);
- /*)*/while (!((rT39end_of_input(C))||(rT3is_separator(rT39last_character(C))))) {
- rT7extend((T7*)oRBC39last_string,rT39last_character(C));
- rT39read_character(C);
- }
- }
- void rT39read_line_in(T39 *C,T0* a1){
- /*(IRF3*/(((T7*)a1)->_count)=(0);
- /*)*/rT39read_character(C);
- while (!((rT39end_of_input(C))||((rT39last_character(C))==('\12')))) {
- rT7extend((T7*)a1,rT39last_character(C));
- rT39read_character(C);
- }
- }
- void rT39read_line(T39 *C){
- rT39read_line_in(C,oRBC39last_string);
- }
- void rT39read_character(T39 *C){
- C->_last_character_memory=fgetc((C)->_input_stream);
- }
- char rT7_ix64(T7 *C,int a1){
- char R='\0';
- R=(C->_storage)[a1-1];
- return R;
- }
- int rT7hash_code(T7 *C){
- int R=0;
- int _i=0;
- _i=(C)->_count;
- /*IF*/if ((_i)>(5)) {
- _i=5;
- }
- /*FI*/while (!((_i)==(0))) {
- R=(R)+(((unsigned char)rT7item(C,_i)));
- _i=(_i)-(1);
- }
- return R;
- }
- void rT7reverse(T7 *C){
- int _i2=0;
- int _i1=0;
- _i1=1;
- _i2=(C)->_count;
- while (!((_i1)>=(_i2))) {
- rT7swap(C,_i1,_i2);
- _i1=(_i1)+(1);
- _i2=(_i2)-(1);
- }
- }
- void rT7extend(T7 *C,char a1){
- C->_count=((C)->_count)+(1);
- /*IF*/if (((C)->_capacity)<((C)->_count)) {
- /*IF*/if (((C)->_capacity)==(0)) {
- C->_capacity=16;
- C->_storage=(char *)malloc((size_t)C->_capacity);
- }
- else {
- C->_capacity=((C)->_capacity)+(16);
- C->_storage=(char *)realloc(C->_storage,(size_t)C->_capacity);
- }
- /*FI*/}
- /*FI*/rT7put(C,a1,(C)->_count);
- }
- int rT7same_as(T7 *C,T0* a1){
- int R=0;
- int _i=0;
- /*IF*/if (((T0 *)a1)==((T0 *)C)) {
- R=1;
- }
- else {
- /*IF*/if ((((T7*)a1)->_count)!=((C)->_count)) {
- R=0;
- }
- else {
- _i=(C)->_count;
- while (!(((_i)==(0))||(!(rT3same_as(rT7item(C,_i),rT7_ix64((T7*)a1,_i)))))) {
- _i=(_i)-(1);
- }
- R=(_i)==(0);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT7to_upper(T7 *C){
- int _i=0;
- _i=(C)->_count;
- while (!((_i)==(0))) {
- rT7put(C,rT3to_upper(rT7item(C,_i)),_i);
- _i=(_i)-(1);
- }
- }
- char rT7first(T7 *C){
- char R='\0';
- R=rT7item(C,1);
- return R;
- }
- void rT7remove_between(T7 *C,int a1,int a2){
- int _i=0;
- _i=a2;
- while (!((_i)>=((C)->_count))) {
- rT7put(C,rT7item(C,(_i)+(1)),((a1)+(_i))-(a2));
- _i=(_i)+(1);
- }
- C->_count=((C)->_count)-(((a2)-(a1))+(1));
- }
- void rT7remove_first(T7 *C,int a1){
- /*IF*/if ((a1)>(0)) {
- rT7remove_between(C,1,a1);
- }
- /*FI*/}
- void rT7remove_last(T7 *C,int a1){
- C->_count=((C)->_count)-(a1);
- }
- int rT7has_prefix(T7 *C,T0* a1){
- int R=0;
- int _i=0;
- /*IF*/if ((((T7*)a1)->_count)<=((C)->_count)) {
- _i=((T7*)a1)->_count;
- while (!(((_i)==(0))||((rT7item(C,_i))!=(rT7item((T7*)a1,_i))))) {
- _i=(_i)-(1);
- }
- R=(_i)==(0);
- }
- /*FI*/return R;
- }
- int rT7has_suffix(T7 *C,T0* a1){
- int R=0;
- int _i2=0;
- int _i1=0;
- /*IF*/if ((((T7*)a1)->_count)<=((C)->_count)) {
- _i1=(((C)->_count)-(((T7*)a1)->_count))+(1);
- _i2=1;
- while (!((((_i1)>((C)->_count))||((_i2)>(((T7*)a1)->_count)))||((rT7item(C,_i1))!=(rT7item((T7*)a1,_i2))))) {
- _i1=(_i1)+(1);
- _i2=(_i2)+(1);
- }
- R=(_i1)>((C)->_count);
- }
- /*FI*/return R;
- }
- void rT7precede(T7 *C,char a1){
- int _i=0;
- rT7extend(C,'\40');
- _i=(C)->_count;
- while (!((_i)==(1))) {
- rT7put(C,rT7item(C,(_i)-(1)),_i);
- _i=(_i)-(1);
- }
- rT7put(C,a1,1);
- }
- int rT7empty(T7 *C){
- int R=0;
- R=((C)->_count)==(0);
- return R;
- }
- char rT7item(T7 *C,int a1){
- char R='\0';
- R=(C->_storage)[a1-1];
- return R;
- }
- T0* rT7substring(T7 *C,int a1,int a2){
- T0* R=NULL;
- int _i=0;
- {T7 *n=((T7*)new(7));
- rT7make(n,((a2)-(a1))+(1));
- R=(T0 *)n;}
- _i=a1;
- while (!((_i)>(a2))) {
- rT7extend((T7*)R,rT7item(C,_i));
- _i=(_i)+(1);
- }
- return R;
- }
- int rT7is_equal(T7 *C,T0* a1){
- int R=0;
- int _i=0;
- /*IF*/if (((T0 *)C)==((T0 *)a1)) {
- R=1;
- }
- else {
- _i=(C)->_count;
- R=(_i)==(((T7*)a1)->_count);
- while (!((!(R))||((_i)==(0)))) {
- R=(rT7item(C,_i))==(rT7item((T7*)a1,_i));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void rT7append(T7 *C,T0* a1){
- int _i=0;
- _i=1;
- while (!((_i)>(((T7*)a1)->_count))) {
- rT7extend(C,rT7_ix64((T7*)a1,_i));
- _i=(_i)+(1);
- }
- }
- char rT7last(T7 *C){
- char R='\0';
- R=rT7item(C,(C)->_count);
- return R;
- }
- int rT7to_integer(T7 *C){
- int R=0;
- int _minus=0;
- char _cc='\0';
- int _state=0;
- int _i=0;
- _i=1;
- while (!(((_i)>((C)->_count))||((_state)==(4)))) {
- _cc=rT7item(C,_i);
- {int iv1=_state;
- if (0 == iv1) goto l31;
- goto l32;
- l31: ;
- /*IF*/if (rT3is_separator(_cc)) {
- }
- else if ((_cc)==('\53')) {
- _state=1;
- }
- else if ((_cc)==('\55')) {
- _minus=1;
- _state=1;
- }
- else if (rT3is_digit(_cc)) {
- R=rT3value(_cc);
- _state=2;
- }
- else {
- _state=4;
- }
- /*FI*/goto l30;
- l32: ;
- if (1 == iv1) goto l33;
- goto l34;
- l33: ;
- /*IF*/if (rT3is_separator(_cc)) {
- }
- else if (rT3is_digit(_cc)) {
- R=rT3value(_cc);
- _state=2;
- }
- else {
- _state=4;
- }
- /*FI*/goto l30;
- l34: ;
- if (2 == iv1) goto l35;
- goto l36;
- l35: ;
- /*IF*/if (rT3is_digit(_cc)) {
- R=((R)*(10))+(rT3value(_cc));
- }
- else if (rT3is_separator(_cc)) {
- _state=3;
- }
- else {
- _state=4;
- }
- /*FI*/goto l30;
- l36: ;
- /*IF*/if (rT3is_separator(_cc)) {
- }
- else {
- _state=4;
- }
- /*FI*/ l30: ;
- }
- _i=(_i)+(1);
- }
- /*IF*/if ((_state)==(4)) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms833);
- rT33put_string((T33*)oRBC1std_error,(T0 *)C);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms834);
- }
- else if (_minus) {
- R=-(R);
- }
- /*FI*/return R;
- }
- void rT7put(T7 *C,char a1,int a2){
- (C->_storage)[a2-1]=a1;
- }
- void rT7swap(T7 *C,int a1,int a2){
- char _tmp='\0';
- _tmp=rT7item(C,a1);
- rT7put(C,rT7item(C,a2),a1);
- rT7put(C,_tmp,a2);
- }
- void rT7copy(T7 *C,T0* a1){
- int _i=0;
- _i=((T7*)a1)->_count;
- C->_count=_i;
- /*IF*/if ((_i)>(0)) {
- /*IF*/if (((C)->_capacity)<(_i)) {
- /*IF*/if (((C)->_capacity)==(0)) {
- C->_storage=(char *)malloc((size_t)_i);
- }
- else {
- C->_storage=(char *)realloc(C->_storage,(size_t)_i);
- }
- /*FI*/C->_capacity=_i;
- }
- /*FI*/while (!((_i)==(0))) {
- rT7put(C,rT7item((T7*)a1,_i),_i);
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- void rT7prepend(T7 *C,T0* a1){
- int _old_count=0;
- int _i=0;
- _old_count=(C)->_count;
- _i=((T7*)a1)->_count;
- while (!((_i)==(0))) {
- rT7extend(C,'\40');
- _i=(_i)-(1);
- }
- _i=(C)->_count;
- while (!((_old_count)==(0))) {
- rT7put(C,rT7item(C,_old_count),_i);
- _i=(_i)-(1);
- _old_count=(_old_count)-(1);
- }
- _i=((T7*)a1)->_count;
- while (!((_i)==(0))) {
- rT7put(C,rT7_ix64((T7*)a1,_i),_i);
- _i=(_i)-(1);
- }
- }
- void rT7to_lower(T7 *C){
- int _i=0;
- _i=(C)->_count;
- while (!((_i)==(0))) {
- rT7put(C,rT3to_lower(rT7item(C,_i)),_i);
- _i=(_i)-(1);
- }
- }
- void rT7make(T7 *C,int a1){
- C->_count=0;
- /*IF*/if ((a1)>(0)) {
- /*IF*/if (((C)->_capacity)<(a1)) {
- /*IF*/if (((C)->_capacity)==(0)) {
- C->_storage=(char *)malloc((size_t)a1);
- }
- else {
- C->_storage=(char *)realloc(C->_storage,(size_t)a1);
- }
- /*FI*/C->_capacity=a1;
- }
- /*FI*/}
- /*FI*/}
- T0 * rT233current_type(T233 *C){
- T0 * R=NULL;
- R=rT226current_type((T226*)(C)->_e_when);
- return R;
- }
- T0 * rT233to_runnable_character(T233 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _v=NULL;
- /*IF*/if (!((C)->_e_when)) {
- C->_e_when=a1;
- _v=XrT68to_runnable((C)->_lower,rT233current_type(C));
- /*IF*/if ((((int)_v))&&(XrT58is_character(XrT68result_type(_v)))) {
- C->_lower=_v;
- C->_lower_value=XrT68to_integer((C)->_lower);
- }
- else {
- rT233error(XrT68start_position((C)->_lower),(T0 *)ms1350);
- }
- /*FI*/_v=XrT68to_runnable((C)->_upper,rT233current_type(C));
- /*IF*/if ((((int)_v))&&(XrT58is_character(XrT68result_type(_v)))) {
- C->_upper=_v;
- C->_upper_value=XrT68to_integer((C)->_upper);
- }
- else {
- rT233error(XrT68start_position((C)->_upper),(T0 *)ms1351);
- }
- /*FI*/rT226add_when_item_2((T226*)(C)->_e_when,(T0 *)C);
- R=(T0 *)C;
- }
- else {
- {T233 *n=((T233*)new(233));
- rT233make(n,(C)->_lower,(C)->_upper);
- R=(T0 *)n;}
- R=rT233to_runnable_character((T233*)R,a1);
- }
- /*FI*/return R;
- }
- T0 * rT233to_runnable_integer(T233 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _v=NULL;
- /*IF*/if (!((C)->_e_when)) {
- C->_e_when=a1;
- _v=XrT68to_runnable((C)->_lower,rT233current_type(C));
- /*IF*/if ((((int)_v))&&(XrT58is_integer(XrT68result_type(_v)))) {
- C->_lower=_v;
- C->_lower_value=XrT68to_integer((C)->_lower);
- }
- else {
- rT233error(XrT68start_position((C)->_lower),(T0 *)ms1346);
- }
- /*FI*/_v=XrT68to_runnable((C)->_upper,rT233current_type(C));
- /*IF*/if ((((int)_v))&&(XrT58is_integer(XrT68result_type(_v)))) {
- C->_upper=_v;
- C->_upper_value=XrT68to_integer((C)->_upper);
- }
- else {
- rT233error(XrT68start_position((C)->_upper),(T0 *)ms1347);
- }
- /*FI*/rT226add_when_item_2((T226*)(C)->_e_when,(T0 *)C);
- R=(T0 *)C;
- }
- else {
- {T233 *n=((T233*)new(233));
- rT233make(n,(C)->_lower,(C)->_upper);
- R=(T0 *)n;}
- R=rT233to_runnable_integer((T233*)R,a1);
- }
- /*FI*/return R;
- }
- void rT233error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT233start_position(T233 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_lower);
- return R;
- }
- void rT233copy(T233 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT233make(T233 *C,T0 * a1,T0 * a2){
- C->_lower=a1;
- C->_upper=a2;
- }
- T0 * rT231current_type(T231 *C){
- T0 * R=NULL;
- R=rT225current_type((T225*)(C)->_e_inspect);
- return R;
- }
- T0 * rT231to_runnable_integer(T231 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _e_when=NULL;
- int _ne=0;
- int _i=0;
- /*IF*/if (!((C)->_e_inspect)) {
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- C->_e_inspect=a1;
- _i=1;
- while (!(((_i)>(((T232*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) {
- _e_when=rT226to_runnable_integer((T226*)rT232item((T232*)(C)->_list,_i),(T0 *)C);
- /*IF*/if (!(_e_when)) {
- rT231error(rT231start_position(C),(T0 *)ms1232);
- }
- else {
- rT232put((T232*)(C)->_list,_e_when,_i);
- }
- /*FI*/_i=(_i)+(1);
- }
- R=(T0 *)C;
- }
- else {
- {T231 *n=((T231*)new(231));
- rT231from_when_list(n,(T0 *)C);
- R=(T0 *)n;}
- R=rT231to_runnable_integer((T231*)R,a1);
- }
- /*FI*/return R;
- }
- T0 * rT231to_runnable_character(T231 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _e_when=NULL;
- int _ne=0;
- int _i=0;
- /*IF*/if (!((C)->_e_inspect)) {
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- C->_e_inspect=a1;
- _i=1;
- while (!(((_i)>(((T232*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) {
- _e_when=rT226to_runnable_character((T226*)rT232item((T232*)(C)->_list,_i),(T0 *)C);
- /*IF*/if (!(_e_when)) {
- rT231error(rT231start_position(C),(T0 *)ms1232);
- }
- else {
- rT232put((T232*)(C)->_list,_e_when,_i);
- }
- /*FI*/_i=(_i)+(1);
- }
- R=(T0 *)C;
- }
- else {
- {T231 *n=((T231*)new(231));
- rT231from_when_list(n,(T0 *)C);
- R=(T0 *)n;}
- R=rT231to_runnable_character((T231*)R,a1);
- }
- /*FI*/return R;
- }
- void rT231error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT231start_position(T231 *C){
- T0 * R=NULL;
- R=((T226*)rT232first((T232*)(C)->_list))->_start_position;
- return R;
- }
- int rT231use_current(T231 *C){
- int R=0;
- int _i=0;
- /*IF*/if (((int)(C)->_list)) {
- _i=1;
- while (!(((_i)>(((T232*)(C)->_list)->_upper))||(R))) {
- R=rT226use_current((T226*)rT232item((T232*)(C)->_list,_i));
- _i=(_i)+(1);
- }
- }
- /*FI*/return R;
- }
- T0* rT231clone(T231 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT231from_when_list(T231 *C,T0 * a1){
- T0 * _e_when=NULL;
- int _i=0;
- C->_list=rT231clone(C,((T231*)a1)->_list);
- _i=1;
- while (!((_i)>(((T232*)(C)->_list)->_upper))) {
- {T226 *n=((T226*)new(226));
- rT226from_e_when(n,rT232item((T232*)(C)->_list,_i));
- _e_when=(T0 *)n;}
- rT232put((T232*)(C)->_list,_e_when,_i);
- _i=(_i)+(1);
- }
- }
- void rT231add_last(T231 *C,T0 * a1){
- rT232add_last((T232*)(C)->_list,a1);
- }
- void rT231compile_to_c(T231 *C,int a1){
- int _i=0;
- /*IF*/if (((int)(C)->_list)) {
- _i=1;
- while (!((_i)>(((T232*)(C)->_list)->_upper))) {
- rT226compile_to_c((T226*)rT232item((T232*)(C)->_list,_i),a1);
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT231copy(T231 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT231includes_integer(T231 *C,int a1){
- int R=0;
- int _i=0;
- _i=1;
- while (!((R)||((_i)>(((T232*)(C)->_list)->_upper)))) {
- R=rT226includes_integer((T226*)rT232item((T232*)(C)->_list,_i),a1);
- _i=(_i)+(1);
- }
- return R;
- }
- T0 * rT227current_type(T227 *C){
- T0 * R=NULL;
- R=rT226current_type((T226*)(C)->_e_when);
- return R;
- }
- T0 * rT227to_runnable_character(T227 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _e=NULL;
- /*IF*/if (!((C)->_e_when)) {
- C->_e_when=a1;
- _e=XrT68to_runnable((C)->_expression,rT227current_type(C));
- /*IF*/if ((((int)_e))&&(XrT58is_character(XrT68result_type(_e)))) {
- C->_expression=_e;
- C->_expression_value=XrT68to_integer((C)->_expression);
- rT226add_when_item_1((T226*)(C)->_e_when,(T0 *)C);
- }
- else {
- rT227error(XrT68start_position((C)->_expression),(T0 *)ms1349);
- }
- /*FI*/R=(T0 *)C;
- }
- else {
- {T227 *n=((T227*)new(227));
- /*(IRF3*/((n)->_expression)=((C)->_expression);
- /*)*/R=(T0 *)n;}
- R=rT227to_runnable_character((T227*)R,a1);
- }
- /*FI*/return R;
- }
- T0 * rT227to_runnable_integer(T227 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _e=NULL;
- /*IF*/if (!((C)->_e_when)) {
- C->_e_when=a1;
- _e=XrT68to_runnable((C)->_expression,rT227current_type(C));
- /*IF*/if ((((int)_e))&&(XrT58is_integer(XrT68result_type(_e)))) {
- C->_expression=_e;
- C->_expression_value=XrT68to_integer((C)->_expression);
- rT226add_when_item_1((T226*)(C)->_e_when,(T0 *)C);
- }
- else {
- rT227error(XrT68start_position((C)->_expression),(T0 *)ms1345);
- }
- /*FI*/R=(T0 *)C;
- }
- else {
- {T227 *n=((T227*)new(227));
- /*(IRF3*/((n)->_expression)=((C)->_expression);
- /*)*/R=(T0 *)n;}
- R=rT227to_runnable_integer((T227*)R,a1);
- }
- /*FI*/return R;
- }
- void rT227error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT227start_position(T227 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_expression);
- return R;
- }
- void rT227copy(T227 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT172static_value(T172 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT172to_runnable(T172 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- R=(T0 *)C;
- }
- else {
- R=rT172clone(C,(T0 *)C);
- /*(IRF3*/(((T172*)R)->_current_type)=(a1);
- /*)*/}
- /*FI*/return R;
- }
- void rT172error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT172add_comment(T172 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int ofBC172result_type=0;
- T0*oRBC172result_type;
- T0 * rT172result_type(/*C*/void){
- T0 * R=NULL;
- if (ofBC172result_type==0){
- ofBC172result_type=1;
- {T112 *n=((T112*)new(112));
- rT112make(n,NULL);
- R=(T0 *)n;}
- oRBC172result_type=R;}
- return oRBC172result_type;}
- T0* rT172clone(T172 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0* rT172to_key(T172 *C){
- T0* R=NULL;
- R=(C)->_to_string;
- return R;
- }
- int rT172to_integer(T172 *C){
- int R=0;
- rT172error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0 * rT172written_in(T172 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT172copy(T172 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT172is_a(T172 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(rT112run_type((T112*)rT172result_type()),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT172error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT172make(T172 *C,T0 * a1){
- C->_start_position=a1;
- C->_to_string=(T0 *)ms295;
- }
- T0 * rT180current_type(T180 *C){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_compound)) {
- R=((T140*)(C)->_run_compound)->_current_type;
- }
- /*FI*/return R;
- }
- void rT180to_runnable_0(T180 *C,T0 * a1){
- T0 * _tt=NULL;
- T0 * _t=NULL;
- C->_run_compound=a1;
- _t=XrT68to_runnable((C)->_target,rT180current_type(C));
- /*IF*/if (!(_t)) {
- rT180error(XrT68start_position((C)->_target),(T0 *)ms1218);
- }
- else {
- C->_target=_t;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)XrT58run_class(_tt),(C)->_target,(C)->_procedure_name);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(((int)XrT261result_type((C)->_run_feature)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1219);
- rT180error(XrT67start_position((C)->_procedure_name),(T0 *)ms1220);
- }
- /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current((C)->_target))))&&(!(XrT261is_exported_in((C)->_run_feature,XrT68written_in((C)->_target))))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1221);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string((C)->_procedure_name));
- rT180error(XrT67start_position((C)->_procedure_name),(T0 *)ms1222);
- }
- /*FI*/}
- T0 * rT180to_runnable(T180 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_run_compound)) {
- rT180to_runnable_0(C,a1);
- /*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- _a=rT170to_runnable((T170*)(C)->_arguments,rT180current_type(C));
- /*IF*/if (!(_a)) {
- rT180error(rT170start_position((T170*)(C)->_arguments),(T0 *)ms1225);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- {T180 *n=((T180*)new(180));
- rT180make(n,(C)->_target,(C)->_procedure_name,(C)->_arguments);
- R=(T0 *)n;}
- R=rT180to_runnable((T180*)R,a1);
- }
- /*FI*/return R;
- }
- void rT180error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT180add_comment(T180 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- /*AF*/else {
- {T216 *n=((T216*)new(216));
- rT216make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT180start_position(T180 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_target);
- /*IF*/if (!(R)) {
- R=XrT67start_position((C)->_procedure_name);
- }
- /*FI*/return R;
- }
- int rT180use_current(T180 *C){
- int R=0;
- /*IF*/if ((rT180arg_count(C))>(0)) {
- R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- void rT180compile_to_c(T180 *C){
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- rT40rs_push_position((T40*)oRBC27cpp,'3',rT180start_position(C));
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- /*IF*/if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT180dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/rT40rs_pop_position((T40*)oRBC27cpp);
- }
- T0 * rT180dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- void rT180copy(T180 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT180arg_count(T180 *C){
- int R=0;
- R=rT170count((T170*)(C)->_arguments);
- return R;
- }
- void rT180make(T180 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_procedure_name=a2;
- C->_arguments=a3;
- }
- T0 * rT179current_type(T179 *C){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_compound)) {
- R=((T140*)(C)->_run_compound)->_current_type;
- }
- /*FI*/return R;
- }
- void rT179to_runnable_0(T179 *C,T0 * a1){
- T0 * _tt=NULL;
- T0 * _t=NULL;
- C->_run_compound=a1;
- _t=XrT68to_runnable((C)->_target,rT179current_type(C));
- /*IF*/if (!(_t)) {
- rT179error(XrT68start_position((C)->_target),(T0 *)ms1218);
- }
- else {
- C->_target=_t;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)XrT58run_class(_tt),(C)->_target,(C)->_procedure_name);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(((int)XrT261result_type((C)->_run_feature)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1219);
- rT179error(XrT67start_position((C)->_procedure_name),(T0 *)ms1220);
- }
- /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current((C)->_target))))&&(!(XrT261is_exported_in((C)->_run_feature,XrT68written_in((C)->_target))))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1221);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string((C)->_procedure_name));
- rT179error(XrT67start_position((C)->_procedure_name),(T0 *)ms1222);
- }
- /*FI*/}
- T0 * rT179to_runnable(T179 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_run_compound)) {
- rT179to_runnable_0(C,a1);
- /*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- _a=rT170to_runnable((T170*)(C)->_arguments,rT179current_type(C));
- /*IF*/if (!(_a)) {
- rT179error(XrT68start_position(rT179arg1(C)),(T0 *)ms1224);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- {T179 *n=((T179*)new(179));
- rT179make(n,(C)->_target,(C)->_procedure_name,(C)->_arguments);
- R=(T0 *)n;}
- R=rT179to_runnable((T179*)R,a1);
- }
- /*FI*/return R;
- }
- void rT179error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT179add_comment(T179 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- /*AF*/else {
- {T216 *n=((T216*)new(216));
- rT216make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT179arg1(T179 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT179start_position(T179 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_target);
- /*IF*/if (!(R)) {
- R=XrT67start_position((C)->_procedure_name);
- }
- /*FI*/return R;
- }
- int rT179use_current(T179 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- void rT179compile_to_c(T179 *C){
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- rT40rs_push_position((T40*)oRBC27cpp,'3',rT179start_position(C));
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- /*IF*/if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT179dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/rT40rs_pop_position((T40*)oRBC27cpp);
- }
- T0 * rT179dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- void rT179copy(T179 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT179make(T179 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_procedure_name=a2;
- C->_arguments=a3;
- }
- T0 * rT178current_type(T178 *C){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_compound)) {
- R=((T140*)(C)->_run_compound)->_current_type;
- }
- /*FI*/return R;
- }
- void rT178to_runnable_0(T178 *C,T0 * a1){
- T0 * _tt=NULL;
- T0 * _t=NULL;
- C->_run_compound=a1;
- _t=XrT68to_runnable((C)->_target,rT178current_type(C));
- /*IF*/if (!(_t)) {
- rT178error(XrT68start_position((C)->_target),(T0 *)ms1218);
- }
- else {
- C->_target=_t;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)XrT58run_class(_tt),(C)->_target,(C)->_procedure_name);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(((int)XrT261result_type((C)->_run_feature)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1219);
- rT178error(XrT67start_position((C)->_procedure_name),(T0 *)ms1220);
- }
- /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current((C)->_target))))&&(!(XrT261is_exported_in((C)->_run_feature,XrT68written_in((C)->_target))))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1221);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string((C)->_procedure_name));
- rT178error(XrT67start_position((C)->_procedure_name),(T0 *)ms1222);
- }
- /*FI*/}
- T0 * rT178to_runnable(T178 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_run_compound)) {
- rT178to_runnable_0(C,a1);
- /*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((XrT261arg_count((C)->_run_feature))>(0))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_procedure_name));
- rT178error(XrT261start_position((C)->_run_feature),(T0 *)ms1223);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- {T178 *n=((T178*)new(178));
- rT178make(n,(C)->_target,(C)->_procedure_name);
- R=(T0 *)n;}
- R=rT178to_runnable((T178*)R,a1);
- }
- /*FI*/return R;
- }
- void rT178error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT178add_comment(T178 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- /*AF*/else {
- {T216 *n=((T216*)new(216));
- rT216make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT178start_position(T178 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_target);
- /*IF*/if (!(R)) {
- R=XrT67start_position((C)->_procedure_name);
- }
- /*FI*/return R;
- }
- int rT178use_current(T178 *C){
- int R=0;
- /*IF*//*AF*//*AE*/
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- void rT178compile_to_c(T178 *C){
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- rT40rs_push_position((T40*)oRBC27cpp,'3',rT178start_position(C));
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- /*IF*/if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT178dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,/*(IRF4*/NULL/*)*/);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/rT40rs_pop_position((T40*)oRBC27cpp);
- }
- T0 * rT178dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- void rT178copy(T178 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT178make(T178 *C,T0 * a1,T0 * a2){
- C->_target=a1;
- C->_procedure_name=a2;
- }
- void rT136warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- T0 * rT136to_procedure_or_function(T136 *C){
- T0 * R=NULL;
- /*IF*/if (!((C)->_type)) {
- {T251 *n=((T251*)new(251));
- rT251make(n,rT136n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
- R=(T0 *)n;}}
- else {
- {T252 *n=((T252*)new(252));
- rT252make(n,rT136n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- void rT136error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT136to_writable_attribute(T136 *C){
- T0 * R=NULL;
- /*IF*/if (!((C)->_type)) {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms405);
- }
- else if (((int)(C)->_arguments)) {
- rT136error(rT51current_position((T51*)oRBC27eiffel_parser),(T0 *)ms406);
- }
- /*FI*/{T256 *n=((T256*)new(256));
- rT256make(n,rT136n(C),(C)->_type);
- R=(T0 *)n;}
- return R;
- }
- T0 * rT136to_deferred_routine(T136 *C){
- T0 * R=NULL;
- /*IF*/if (!((C)->_type)) {
- {T204 *n=((T204*)new(204));
- rT204make(n,rT136n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion);
- R=(T0 *)n;}}
- else {
- {T205 *n=((T205*)new(205));
- rT205make(n,rT136n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT136n(T136 *C){
- T0 * R=NULL;
- {T128 *n=((T128*)new(128));
- rT128make(n,rT136clone(C,oRBC136names));
- R=(T0 *)n;}
- return R;
- }
- T0* rT136clone(T136 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0*oRBC136names;
- T0 * rT136to_cst_att_integer(T136 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_type)) {
- /*IF*/if (XrT58is_integer((C)->_type)) {
- {T155 *n=((T155*)new(155));
- rT155make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}}
- else if (XrT58is_real((C)->_type)) {
- {T153 *n=((T153*)new(153));
- rT153make(n,rT136n(C),(C)->_type,rT80to_real_constant((T80*)a1));
- R=(T0 *)n;}}
- else if (XrT58is_double((C)->_type)) {
- {T154 *n=((T154*)new(154));
- rT154make(n,rT136n(C),(C)->_type,rT80to_real_constant((T80*)a1));
- R=(T0 *)n;}}
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms277);
- }
- /*FI*/}
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms278);
- }
- /*FI*/return R;
- }
- T0 * rT136to_cst_att_real(T136 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_type)) {
- /*IF*/if (XrT58is_real((C)->_type)) {
- {T153 *n=((T153*)new(153));
- rT153make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}}
- else if (XrT58is_double((C)->_type)) {
- {T154 *n=((T154*)new(154));
- rT154make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}}
- else if (XrT58is_integer((C)->_type)) {
- rT136warning(((T79*)a1)->_start_position,(T0 *)ms272);
- {T155 *n=((T155*)new(155));
- rT155make(n,rT136n(C),(C)->_type,rT79to_integer_constant((T79*)a1));
- R=(T0 *)n;}}
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms274);
- }
- /*FI*/}
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms275);
- }
- /*FI*/return R;
- }
- T0 * rT136to_cst_att_bit(T136 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((((int)(C)->_type))&&(XrT58is_bit((C)->_type))) {
- {T152 *n=((T152*)new(152));
- rT152make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}
- }
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms271);
- }
- /*FI*/return R;
- }
- T0 * rT136to_cst_att_string(T136 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((((int)(C)->_type))&&(XrT58is_string((C)->_type))) {
- {T150 *n=((T150*)new(150));
- rT150make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}
- }
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms270);
- }
- /*FI*/return R;
- }
- T0 * rT136to_cst_att_character(T136 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((((int)(C)->_type))&&(XrT58is_character((C)->_type))) {
- {T149 *n=((T149*)new(149));
- rT149make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}
- }
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms269);
- }
- /*FI*/return R;
- }
- T0 * rT136to_cst_att_boolean(T136 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((((int)(C)->_type))&&(XrT58is_boolean((C)->_type))) {
- {T148 *n=((T148*)new(148));
- rT148make(n,rT136n(C),(C)->_type,a1);
- R=(T0 *)n;}
- }
- else {
- rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms268);
- }
- /*FI*/return R;
- }
- T0 * rT136to_cst_att_unique(T136 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- /*IF*/if (!((C)->_type)) {
- _sp=XrT67start_position(rT129first((T129*)oRBC136names));
- rT136error(_sp,(T0 *)ms266);
- }
- /*FI*//*IF*/if (!(XrT58is_integer((C)->_type))) {
- rT136error(XrT58start_position((C)->_type),(T0 *)ms267);
- }
- /*FI*/{T144 *n=((T144*)new(144));
- rT144make(n,rT136n(C),(C)->_type);
- R=(T0 *)n;}
- return R;
- }
- void rT136copy(T136 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT136add_synonym(/*C*/T0 * a1){
- rT129add_last((T129*)oRBC136names,a1);
- }
- void rT136set_require(T136 *C,T0 * a1,T0 * a2,T0* a3){
- /*IF*/if ((((int)a2))||(((int)a3))) {
- {T137 *n=((T137*)new(137));
- rT137make(n,a1,a2,a3);
- C->_require_assertion=(T0 *)n;}
- }
- /*FI*/}
- void rT136set_require_else(T136 *C,T0 * a1,T0 * a2,T0* a3){
- /*IF*/if ((((int)a2))||(((int)a3))) {
- {T137 *n=((T137*)new(137));
- rT137make(n,a1,a2,a3);
- C->_require_assertion=(T0 *)n;}
- /*(IRF3*/(((T137*)(C)->_require_assertion)->_is_require_else)=(1);
- /*)*/}
- /*FI*/}
- void rT136initialize(T136 *C){
- rT129clear((T129*)oRBC136names);
- C->_arguments=NULL;
- C->_type=NULL;
- C->_header_comment=NULL;
- C->_obsolete_mark=NULL;
- C->_require_assertion=NULL;
- C->_local_vars=NULL;
- C->_routine_body=NULL;
- }
- T0 * rT136to_once_routine(T136 *C){
- T0 * R=NULL;
- /*IF*/if (!((C)->_type)) {
- {T254 *n=((T254*)new(254));
- rT254make(n,rT136n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
- R=(T0 *)n;}}
- else {
- {T255 *n=((T255*)new(255));
- rT255make(n,rT136n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT136to_external_routine(T136 *C,T0 * a1,T0* a2){
- T0 * R=NULL;
- /*IF*/if (!((C)->_type)) {
- {T211 *n=((T211*)new(211));
- rT211make(n,rT136n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2);
- R=(T0 *)n;}}
- else {
- {T212 *n=((T212*)new(212));
- rT212make(n,rT136n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0* rT260runnable(T260 *C,T0* a1,T0 * a2,T0 * a3){
- T0* R=NULL;
- T0 * _a=NULL;
- int _i=0;
- /*IF*/if (!(rT158empty((T158*)a1))) {
- R=rT260clone(C,a1);
- _i=1;
- while (!((_i)>(((T158*)R)->_upper))) {
- rT52push((T52*)oRBC27small_eiffel,a3);
- _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2);
- /*IF*/if (!(_a)) {
- rT260error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms477);
- }
- else {
- rT158put((T158*)R,_a,_i);
- }
- /*FI*/rT52pop((T52*)oRBC27small_eiffel);
- _i=(_i)+(1);
- }
- }
- /*FI*/return R;
- }
- T0 * rT260get_feature(T260 *C,T0 * a1){
- T0 * R=NULL;
- T0* _fn_key=NULL;
- T0 * _f=NULL;
- _fn_key=XrT67to_key(a1);
- /*IF*/if (rT264has((T264*)(C)->_feature_dictionary,_fn_key)) {
- R=rT264at((T264*)(C)->_feature_dictionary,_fn_key);
- }
- else {
- _f=rT50look_up_for((T50*)rT260base_class(C),(T0 *)C,a1);
- /*IF*/if (!(_f)) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms517);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms518);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)rT260base_class(C))->_base_class_name)->_to_string);
- rT260error(XrT67start_position(a1),(T0 *)ms38);
- }
- else {
- R=XrT62to_run_feature(_f,(C)->_current_type,a1);
- /*IF*/if (((int)R)) {
- rT260store_feature(C,R);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT260get_feature_with(T260 *C,T0* a1){
- T0 * R=NULL;
- T0 * _fn=NULL;
- /*IF*/if (rT264has((T264*)(C)->_feature_dictionary,a1)) {
- R=rT264at((T264*)(C)->_feature_dictionary,a1);
- }
- else {
- {T67 *n=((T67*)new(67));
- rT67make(n,a1,NULL);
- _fn=(T0 *)n;}
- R=rT260get_feature(C,_fn);
- }
- /*FI*/return R;
- }
- T0* rT260writable_attributes(T260 *C){
- T0* R=NULL;
- int _i=0;
- T0 * _rf=NULL;
- /*IF*/if (!((C)->_writable_attributes_mem)) {
- _i=1;
- while (!((_i)>(((T264*)(C)->_feature_dictionary)->_count))) {
- _rf=rT264item((T264*)(C)->_feature_dictionary,_i);
- /*IF*/if (XrT261is_writable(_rf)) {
- /*IF*/if (!((C)->_writable_attributes_mem)) {
- C->_writable_attributes_mem=ma(265,0,1,_rf);
- }
- else {
- XrT265add_last((C)->_writable_attributes_mem,_rf);
- }
- /*FI*/}
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/R=(C)->_writable_attributes_mem;
- return R;
- }
- void rT260falling_down(T260 *C){
- int _i=0;
- T0 * _rf=NULL;
- _i=1;
- while (!((_i)>(((T264*)(C)->_feature_dictionary)->_count))) {
- _rf=rT264item((T264*)(C)->_feature_dictionary,_i);
- XrT261fall_down(_rf);
- _i=(_i)+(1);
- }
- }
- void rT260fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT260error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT260set_at_run_time(T260 *C){
- int _i=0;
- T0 * _rc=NULL;
- T0 * _rcd=NULL;
- /*IF*/if (!((C)->_at_run_time)) {
- C->_at_run_time=1;
- rT260add_running(C,(T0 *)C);
- /*(IRF3*/(((T50*)rT260base_class(C))->_at_run_time)=(1);
- /*)*/rT52incr_magic_count((T52*)oRBC27small_eiffel);
- /*IF*/if (XrT58is_reference((C)->_current_type)) {
- _rcd=oRBC52run_class_dictionary;
- _i=1;
- while (!((_i)>(((T262*)_rcd)->_count))) {
- _rc=rT262item((T262*)_rcd,_i);
- /*IF*/if (rT260is_a(C,_rc)) {
- rT260add_running((T260*)_rc,(T0 *)C);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- /*FI*/}
- void rT260store_feature(T260 *C,T0 * a1){
- T0 * _rf2=NULL;
- T0* _rf_key=NULL;
- _rf_key=XrT67to_key(XrT261name(a1));
- /*IF*/if (rT264has((T264*)(C)->_feature_dictionary,_rf_key)) {
- _rf2=rT264at((T264*)(C)->_feature_dictionary,_rf_key);
- /*IF*/if (((T0 *)a1)!=((T0 *)_rf2)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position(_rf2));
- rT260fatal_error((T0 *)ms519);
- }
- /*FI*/}
- else {
- rT264put((T264*)(C)->_feature_dictionary,a1,_rf_key);
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- }
- /*FI*/}
- void rT260collect_invariant(/*C*/T0 * a1){
- rT259add_into((T259*)a1,oRBC260collector);
- }
- T0*oRBC260collector;
- T0 * rT260get_rf(T260 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _sub_fn=NULL;
- T0 * _wbc=NULL;
- T0 * _ctbc=NULL;
- T0 * _wp=NULL;
- _ctbc=XrT58base_class((C)->_current_type);
- _wp=XrT68start_position(a1);
- /*IF*/if (!(_wp)) {
- _wp=XrT67start_position(a2);
- }
- /*FI*/_wbc=rT46base_class((T46*)_wp);
- /*IF*/if (XrT68is_current(a1)) {
- _sub_fn=rT50name_of((T50*)_ctbc,_wbc,a2);
- }
- else {
- _sub_fn=a2;
- }
- /*FI*/R=rT260get_feature(C,_sub_fn);
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(a2));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1120);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a2));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1121);
- /*UT*/(T45*)oRBC27eh;
- rT45add_type((C)->_current_type,(T0 *)ms38);
- rT45print_as_fatal_error((T45*)oRBC27eh);
- }
- /*FI*/XrT261add_clients(R,(T0 *)C);
- /*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current(a1))))&&(!(XrT261is_exported_in(R,((T50*)_wbc)->_base_class_name)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position(R));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1129);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a2));
- rT260error(_wp,(T0 *)ms1130);
- }
- /*FI*/return R;
- }
- T0* rT260clone(T260 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0 * rT260at(T260 *C,T0 * a1){
- T0 * R=NULL;
- T0* _to_key=NULL;
- _to_key=XrT67to_key(a1);
- /*IF*/if (rT264has((T264*)(C)->_feature_dictionary,_to_key)) {
- R=rT264at((T264*)(C)->_feature_dictionary,_to_key);
- }
- /*FI*/return R;
- }
- void rT260compile_to_c(T260 *C){
- int _i=0;
- T0 * _rf=NULL;
- /*IF*/if ((C)->_at_run_time) {
- rT38put_character((T38*)oRBC1std_output,'\11');
- rT38put_string((T38*)oRBC1std_output,XrT58run_time_mark((C)->_current_type));
- rT38put_character((T38*)oRBC1std_output,'\12');
- _i=1;
- while (!((_i)>(((T264*)(C)->_feature_dictionary)->_count))) {
- _rf=rT264item((T264*)(C)->_feature_dictionary,_i);
- /*IF*/if (!(XrT261is_writable(_rf))) {
- XrT261c_define(_rf);
- }
- /*FI*/_i=(_i)+(1);
- }
- /*IF*/if (rT44invariant_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_invariant_assertion)) {
- rT259c_define((T259*)(C)->_invariant_assertion);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- T0 * rT260base_class(T260 *C){
- T0 * R=NULL;
- R=XrT58base_class((C)->_current_type);
- return R;
- }
- void rT260add_running(T260 *C,T0 * a1){
- /*IF*/if (!((C)->_running)) {
- C->_running=ma(263,0,1,a1);
- }
- else {
- /*IF*/if (!(rT263fast_has((T263*)(C)->_running,a1))) {
- rT263add_last((T263*)(C)->_running,a1);
- }
- /*FI*/}
- /*FI*/}
- void rT260copy(T260 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT260is_a(T260 *C,T0 * a1){
- int R=0;
- T0 * _t2=NULL;
- T0 * _t1=NULL;
- /*IF*/if (((T0 *)a1)==((T0 *)C)) {
- R=1;
- }
- else {
- _t1=(C)->_current_type;
- _t2=((T260*)a1)->_current_type;
- /*IF*/if ((XrT58is_integer(_t1))&&(XrT58is_real(_t2))) {
- R=0;
- }
- else {
- R=XrT58is_a(_t1,_t2);
- /*IF*/if (!(R)) {
- /*(IRF3*//*UT*/(T45*)oRBC27eh;
- /*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0);
- /*)*/rT47clear((T47*)rT45positions());
- /*)*/}
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- void rT260make(T260 *C,T0 * a1){
- int _i=0;
- T0* _r=NULL;
- T0 * _rc=NULL;
- T0 * _rcd=NULL;
- T0* _run_string=NULL;
- C->_current_type=a1;
- /*IF*/if (XrT58fast_mapping_c(a1)) {
- C->_id=((T50*)XrT58base_class(a1))->_id;
- }
- else if (XrT58is_reference(a1)) {
- /*IF*/if (XrT58is_generic(a1)) {
- C->_id=rT52next_id((T52*)oRBC27small_eiffel);
- }
- else {
- C->_id=((T50*)XrT58base_class(a1))->_id;
- }
- /*FI*/}
- else {
- /*IF*/if (((T50*)XrT58base_class(a1))->_is_expanded) {
- C->_id=((T50*)XrT58base_class(a1))->_id;
- }
- else {
- C->_id=rT52next_id((T52*)oRBC27small_eiffel);
- }
- /*FI*/}
- /*FI*/_run_string=XrT58run_time_mark(a1);
- rT262put((T262*)oRBC52run_class_dictionary,(T0 *)C,_run_string);
- {T264 *n=((T264*)new(264));
- rT264make(n);
- C->_feature_dictionary=(T0 *)n;}
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- /*IF*/if (XrT58is_expanded(a1)) {
- rT260set_at_run_time(C);
- }
- else {
- _rcd=oRBC52run_class_dictionary;
- _i=1;
- while (!((_i)>(((T262*)_rcd)->_count))) {
- _rc=rT262item((T262*)_rcd,_i);
- /*IF*/if (((((T260*)_rc)->_at_run_time)&&(XrT58is_reference(((T260*)_rc)->_current_type)))&&(rT260is_a((T260*)_rc,(T0 *)C))) {
- rT260add_running(C,_rc);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*//*IF*/if (rT44invariant_check((T44*)oRBC27eiffel_run_control)) {
- rT158clear((T158*)oRBC260collector);
- rT50collect_invariant((T50*)rT260base_class(C),(T0 *)C);
- _r=rT260runnable(C,oRBC260collector,(C)->_current_type,NULL);
- /*IF*/if (((int)_r)) {
- {T259 *n=((T259*)new(259));
- rT259from_runnable(n,_r);
- C->_invariant_assertion=(T0 *)n;}
- }
- /*FI*/}
- /*FI*/}
- T0 * rT239to_runnable(T239 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!(XrT68current_type((C)->_expression))) {
- C->_expression=XrT68to_runnable((C)->_expression,a1);
- R=(T0 *)C;
- }
- else {
- R=rT239clone(C,(T0 *)C);
- /*(IRF3*/(((T239*)R)->_expression)=(XrT68to_runnable((C)->_expression,a1));
- /*)*/}
- /*FI*/return R;
- }
- int rT239use_current(T239 *C){
- int R=0;
- R=XrT68use_current((C)->_expression);
- return R;
- }
- T0* rT239clone(T239 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT239copy(T239 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
-